Network control system for home appliances

ABSTRACT

Disclosed is a network control system for home appliances that satisfies the characteristics of low-cost and high-efficiency with respect to currently used appliances adopting a low-performance microcomputer. The system is constructed to define a master/slave type communication structure with respect to the respective appliances; construct a network by connecting the appliances through the serial communication function; and enable the appliances to communicate with one another if a predetermined communication event is produced. According to the system, an optimized network for the home appliances can be implemented, and operation states of the respective appliances can be displayed through the co-operation among the appliances, thereby maximizing the user convenience.

TECHNICAL FIELD

[0001] The present invention relates to a network control apparatus andmethod, and more particularly to a network control system for homeappliances.

BACKGROUND ART

[0002] Currently, the home automation for automatically controlling homeappliances at home or at a remote place has been almost commercialized.In case of the initial-stage home automation, the respective appliancesare separately controlled using telephones or infrared rays withoutinterconnection between the appliances. At present, a network isconstructed among the appliances using a communication means, and acontroller for controlling the network is provided to manage theappliances in integration.

[0003] Microcomputers applied to the appliances have a built-in serialcommunication function, and can communicate with other microcomputers orappliances. This microcomputer has diverse sizes of resources that canbe used in communications such as a memory according to thecharacteristic of the appliance. In case of multimedia products such aspersonal computers (PCs), television receivers (TVs), audio appliances,etc., high-performance hardware specifications are adopted to operatediverse basic functions, and the communication standard for processing alarge amount of data at a high speed is required.

[0004] On the contrary, in case of refrigerators, washing machines,microwave ovens, lamps, gas alarms, desk lamps, boilers, etc., theirfunctions are very simple in comparison to the above-mentioned PCs ormultimedia products, and thus a low-performance microcomputer of 8 bitsor less is generally used. In case of the home appliances adopting thelow-performance microcomputer, the basic remote control or monitoring ofthe operation state is the main object of the communications, and thusthe communication standard using small-sized microcomputer resources isrequired.

[0005] However, in case of the communication protocols being currentlyused or proceeding for the purpose of communications between theappliances, separate communication modules such as modems areadditionally installed in the respective appliances in order to use thehigh-performance communication standard applied to the PCs or multimediaappliances as it is, or the high-performance communication standard ispartially modified.

[0006] The conventional home appliances adopt the high-performancecommunication standard used in the PCs or multimedia appliances, andthus have the problems of inefficiency and increase of cost due to theadoption of the unnecessary communication standard higher than theiractual functions since a separate hardware communication module such asa modem is to be additionally installed in each appliance.

DISCLOSURE OF THE INVENTION

[0007] Therefore, an object of the present invention is to solve theproblems involved in the prior art and to provide a network controlsystem for home appliances that satisfies the characteristics oflow-cost and high-efficiency with respect to the currently usedappliances adopting a low-performance microcomputer.

[0008] In order to accomplish the above-mentioned object, the presentinvention provides a network control system for home appliances providedwith a low-performance microcomputer having a serial communicationfunction that defines a master/slave type communication structure withrespect to the respective appliances; determines a communicationstandard composed of an application layer, data link layer, and physicallayer according to the communication structure; constructs a network byconnecting the appliances through the serial communication function; andenables the appliances to communicate with one another in the unit of aspecified packet according to the communication structure andcommunication standard if a predetermined communication event isproduced.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The above object, other features and advantages of the presentinvention will become more apparent by describing the preferredembodiment thereof with reference to the accompanying drawings, inwhich:

[0010]FIG. 1 is a view illustrating a network of home appliances.

[0011]FIG. 2 is a view illustrating a communication structure betweenmaster/slave type appliances according to the present invention.

[0012]FIG. 3 is a view illustrating a detailed construction of amaster/slave type communication structure according to the presentinvention.

[0013]FIG. 4 is a view illustrating a half-duplex type communicationstructure according to the present invention.

[0014]FIG. 5 is a view illustrating a one-request/one-response typecommunication cycle.

[0015]FIG. 6 is a view illustrating a communication cycle when a packeterror is produced.

[0016]FIG. 7 is a view illustrating a one-request/multi-response typecommunication cycle.

[0017]FIG. 8 is a view illustrating a one-request communication cycle.

[0018]FIG. 9 is a view illustrating a division type of communicationlayers.

[0019]FIG. 10 is a view illustrating a packet communication structureamong layers.

[0020]FIG. 11 is a view illustrating the whole packet structure.

[0021]FIG. 12 is a view illustrating a request/notification packet.

[0022]FIG. 13 is a view illustrating the structure of a response packet.

[0023]FIG. 14 is a view illustrating an address structure.

[0024]FIG. 15 is a view illustrating a network code division method.

[0025]FIG. 16 is a view illustrating a group address according to a kindof a product.

[0026]FIG. 17 is a view illustrating a group address according to aninstalled place.

[0027]FIG. 18 is a view illustrating a group address according to aninstalled place and kind of product.

[0028]FIG. 19 is a view illustrating a header structure of an eventfile.

[0029]FIG. 20 is a view illustrating a body structure of an event file.

[0030]FIG. 21 is a view illustrating the construction of a responsepacket when an error is produced.

BEST MODE FOR CARRYING OUT THE INVENTION

[0031] Now, the network control system for home appliances according topreferred embodiments of the present invention will be described indetail with reference to the annexed drawings.

[0032] First, as shown in FIG. 1, the network according to the presentinvention may comprise multimedia appliances such as a-televisionreceiver (TV), audio appliance, etc., connected to an audio/video (A/V)network through a gateway connected to an external Internet; PC lowerappliances such as a printer, scanner, PC camera, etc., connected to apersonal computer (PC) network; and lower appliances such as arefrigerator, air conditioner, washing machine, cleaner, microwave oven,humidifier, lamp, desk lamp, gas alarm, etc., connected to a livingnetwork through a network manager.

[0033] The network control system for home appliances according to thepresent invention will now be explained.

[0034] The present invention adopts a master/slave system. That is, allthe communication cycles start from a master, and end with a masterdevice. Any appliance may be the master, but for this, it should have afunction of controlling the data flow on communication lines,information on appliances connected to a network, and a control code.According to the present invention applied to the network among the homeappliances of relatively low-performance specifications, only a devicehaving a user interface function such as a PC carries all functions ofthe master, and other devices serve only as the masters having limitedfunctions such as communication with a predetermined slave orcommunication using a simple control code.

[0035] Also, the present invention defines a device in which the masterand the slave coexist logically so that a direct communication betweendevices, i.e., peer-to-peer communication, is possible while maintainingthe basic master/slave communication system. That is, a shown in FIG. 2,a device (hereinafter, referred to as P2P device) that is one physicaldevice, but is logically divided into an independent master and slave isdefined.

[0036] All products connected to the network are basically the P2Pdevices, but as shown in FIG. 3, they may be defined as the master,slave, dedicated sender, and dedicated receiver according to thehardware characteristics of the products.

[0037] Specifically, in case of the master, in order to start a newcommunication cycle, the master functions to start and end thecommunication with the corresponding slave if an event of communicationstart is produced by the last user or due to the internal state changeof the device.

[0038] In case of the slave, it is always in a standby state ofreception, and cannot request the communication to other devices foritself.

[0039] The P2P device is a device in which the master and the slave arelogically coexist, and serves as the master to lead the communicationcycle if an event of communication start is produced by the last user ordue to the internal state change of the device. After the termination ofthe corresponding communication, the P2P device serves as the slave tobe in the standby state of reception.

[0040] The dedicated sender is a device only for sending according toits hardware characteristics, and may be a remote controller.

[0041] The dedicated receiver is a device only for reception accordingto its hardware characteristics, and may be a product that is providedwith an infrared-rays receiver and operated by a dry battery.

[0042] As shown in FIG. 4, the network control system for homeappliances according to the present invention performs a half-duplextype signal transmission using one bus.

[0043] Specifically, in case of transmission, the device does notreceive data transmitted from other devices, and in case of reception,the device does not send data to other devices. This is for minimizingthe memory use for the communication, and simultaneously for coping withthe network that is constructed with one bus using the serialcommunication function such as the network for home appliances accordingto the present invention.

[0044] Accordingly, in case of the master or slave, the memory for allthe transmission and reception can be shared, and in case of the P2Pdevice, the memory for the transmission and reception can also be sharedsince the master and the slave do not simultaneously operate. Thus, itis not necessary to interrupt all the transmission/reception process,and this causes the degree of freedom for programming the function ofthe product to be heightened.

[0045] Next, the network control system for home appliances according tothe present invention performs a one-cycle type communication. Theone-cycle type is classified with a one-request/one-response type,one-request/multi-response type, and one request type.

[0046] At this time, as shown in FIG. 5, according to theone-request/one-response type communication, a master transmits onepacket to a slave, and in response to this, the slave transmits onepacket to the master to terminate the communication. As shown in FIG. 7,according to the one-request/multi-response type communication, a mastertransmits one packet to a plurality of slaves, and in response to this,the respective slaves transmit one packet to the master. The masterwaits for the response continuously, and if a predetermined maximumwaiting time elapses, the master terminates the communication.Meanwhile, as shown in FIG. 8, according to the one request typecommunication, a master transmits one request with respect to a slave ora plurality of slaves, and then terminates the communication withoutwaiting for the response. At this time, if data composed of severalpackets is transmitted, the master divides the data into packets havingthe size matching the corresponding slave, and transmits the data to theslave in the unit of a packet. FIG. 6 shows the communication typewhereby if a response error is produced in the slave, the masterretransmits the request, and receives the corresponding response toterminate the communication.

[0047] Next, the network control system for home appliances according tothe present invention has a protocol composed of a physical layer, datalink layer, and application layer.

[0048] In case of a TCP/IP protocol currently used as the Internetprotocol, its communication layers are divided into an applicationlayer, transport layer, network layer, data link layer, and physicallayer. In case of the protocol for other home appliances or factoryautomation, it is basically provided with an application layer, datalink layer, and physical layer, and additionally provided with atransport layer or network layer. However, since the present inventionis for coping with the above-described communication types with respectto the home appliances of the low-performance specifications, it has thecommunication layer composed of the physical layer, data link layer, andapplication layer only. Also, according to the present invention, thephysical layer and data link layer are simplified at maximum, and manyportions for operating the product are assigned to the application layerin order to minimize the load of the microcomputer so as to match themaster/slave type and the half-duplex type.

[0049] As shown in FIG. 9, in case of the slave, the communication layercomprises an application layer composed of regions of applicationsoftware, message structure, message execution, message combination, andmessage redundancy check; data link layer composed of regions of packetstructure, packet transmission, CSM/CD, packet check, address check, andpacket data reception; and physical layer composed of UART. At thistime, the physical layer may include an adapter selected when apower-line communication is used.

[0050] In case of the master, the communication layer comprises anapplication layer composed of regions of application software, messagedivision, and message combination; data link layer composed of regionsof packet structure, confirmation of packet transmission, CSM/CD, packetcheck, address check, and packet data reception; and physical layercomposed of UART. The physical layer of the master may also include anadapter selected when a power-line communication is used.

[0051] At this time, the physical layer serves to receive bit signals oncommunication lines to construct the packet, or carry the packetreceived from the data link layer on the bit signal to transfer the bitsignal through the communication lines.

[0052] The data link layer constructs the packet using data receivedfrom the application layer to send the packet to the physical layer, orprocesses the packet received from the physical layer to transfer thepacket to the application layer. The role of the data link layer of themaster is somewhat different from that of the slave. The data link layerof the master includes the process of securing the packet transmissionto the physical layer. In the products serving as the slave, thephysical layer and the data link layer have the same structure.

[0053] The application layer comprises message sets, and serves toanalyze and process the message. In the products serving as the slave,the message includes a load control or memory control method, and themaster serves to manage the slaves using results of the slaves' messageprocessing or control the whole network. Accordingly, the applicationlayer includes different contents for each product. The applicationlayer of the master also serves as the transmission layer that dividesthe data into packets if the data to be transmitted is larger than onepacket to transmit the divided packets, or combines and processes thedivided packets if the divided packets are received. The reason why thetransmission layer is not separated, but is included in the applicationlayer is that the division and combination of the packets are performedonly with respect to a specified message, not with respect to all thedata.

[0054] The packet communication structure between the communicationlayers is shown in FIG. 10. The interface between the application layerand the data link layer is performed in the unit of a message, while theinterface between the data link layer and the physical layer isperformed in the unit of a full packet. Between the data link layer andthe physical layer, it is not required to separately construct thepackets, but the communication is performed in the unit of the fullpacket so that the packets can be used as they are. However, since thelength of a header added to the data link layer and the physical layercannot not be known in the application layer, it is difficult tointerface the data in the unit of a full packet, but the data istransferred from the application layer to the data link layer in theunit of a message. The packet should include all the information to becommunicated, and have the structure to cope with the later extension ofthe communication function.

[0055] The packet, as shown in FIG. 11, basically comprises a headerregion composed of a packet header field and field for later addition ofthe packet function; body region composed of a message header field,field for later addition of the packet function, and message field; anda trailer region.

[0056] Also, as shown in FIG. 12, the request/notification packet usedin the master is composed of 17 bytes at minimum, and 255 bytes atmaximum, and comprises a home code (HC) composed of 8 bit forclassifying a home where the network is constructed, receiver address(RA) composed of 16 bits for indicating the receiver, sender address(SA) composed of 16 bits for indicating the sender, packet length (PL)composed of 8 bits for indicating the length of the packet, accesspriority (AP) composed of 3 bits for indicating a priority oftransmission, packet header length (PHL) composed of 5 bits forindicating the length of the packet header, protocol version (PV)composed of 8 bits for indicating the version of the protocol, packettype (PT) composed of 4 bits for indicating the type of the packet,retransmission counter (RC) composed of 2 bits for indicating the numberof retransmission, packet number (PN) composed of 2 bits for indicatingthe transmission of a new packet, message length (ML) composed of 8bits, message header length (MHL) composed of 8 bits, port number (PO)composed of 8 bits, command code (CC) composed of 8 bits, argument (ARG)having the variable number of bits, cyclic redundancy check composed of16 bits, and end of text (ETX) composed of 8 bits for indicating the endof the packet.

[0057] Also, as shown in FIG. 13, the response packet used in the slaveis identical with the request/notification packet except that its bodyregion includes an ACK/NAK of 8 bits.

[0058] At this time, the home code (HC) is a code for logicallyclassifying the home where the network is constructed. Especially, incase that the transmission lines among the respective homes, such as thepower lines, are not classified, hexadic values in the range of0x03-0xFE are used for classifying the respective homes.

[0059] The receiver address (RA) located in front of the sender address(SA) is for early judging whether the receiver continuously receives thepacket or ignores it when the packet is received. The upper 2 bits arefor indicating the kind of the network, and the following 6 bits are forclassifying the products having an independent function such as awashing machine, refrigerator, etc. The lower 8 bits are allocated toclassify the product in case that several products of the same kindexist.

[0060] The packet length (PL) is composed of 1 byte for storing a numberthat indicates the packet length calculated in the unit of a byte fromthe home code to ETX of the packet. After receiving the packet length(PL) data value, the receiver receives only the data as much as thepacket length data value, and performs the subsequent processes.Accordingly, the packet length (PL) value is used for identifying inadvance the size of a receiving buffer, and for detecting an error ofthe received packet data. That is, the last byte of the packet is readout, and if it is not ETX, it is judged as the packet error.

[0061] The access priority (AP) is a field for indicating a transmissionpriority given to the message such as an urgent message, packet to beretransmitted due to the failure of transmission, or message that isless important than a general communication message, so that thephysical layer can perform the CSMA/CD function according to the givenpriority. This field is significant if the adapter that performs theCSMA/CD function can transmit the message according to the transmissionpriority, and otherwise, it is ignored. The access priority valuesaccording to the respective communications are as follows.

[0062] 0: in case of the retransmission due to the collision or in astate of emergency

[0063] 1: in case of the mass transmission of data through the messagedivision

[0064] 2: in case of a normal communication

[0065] 3: in case that the network connection state is reported (also incase of the collision, the priority is maintained 3.)

[0066] The packet header length (PHL) is a field for the extension ofthe packet header. If an extension field is added to the present packetheader, and the packet header length is changed accordingly. In case ofno change, it is of 9 bytes, and can be extended to 32 bytes at maximum.

[0067] The protocol version (PV) is 1-byte field that indicates theversion of the adopted protocol. The version and subversion take thevalues of 0˜15 in the order of their updating.

[0068] The packet type (PT) is composed of 4 bits determined when thepacket is transmitted, and divided into a request packet, responsepacket, and notification packet. The response packet is further dividedinto a successful response and failed response. The master determinesthe request packet, and the slave determines the response packet. If thedevice operates only as the slave, it processes the request packet only.The reason why the response packet is divided into the two responsetypes is that the packet is not transmitted to the application layer,but is immediately retransmitted if the packet type (PT) field in thepacket header indicates the failed response even though the contents ofthe message is not known in the data link layer. A notification packetrepresents the packet that does not request the response. An arrayedpacket is used for dividing and sending all the data without anyresponse to the respective packet when the mass data file is transmittedat a high transmission speed, and its hexadic values are as follows.

[0069] 0: Request packet

[0070] 1˜3: Reserved

[0071] 4: Successful response packet

[0072] 5: Failed response packet

[0073] 6˜7: Reserved

[0074] 8: Broadcast notification packet

[0075] 9: Arrayed packet

[0076] 10: End packet of arrayed data

[0077] 11˜15: Reserved

[0078] The retransmission count (RC) is a 2-bit field for preventing theduplicate process of the same message when the communication error isproduced. If a CRC error is included in the received response packet,the received packet includes the CRC error, or the reception byte timeis over, the master can retransmit the packet three times at maximum,while the slave can transmit only once.

[0079] The packet number (PN) is also a 2-bit field for preventing theduplicate process of the same message when the communication error isproduced. The master increase the packet number by 1 whenever a newpacket is transmitted, and in case of the retransmission of the samepacket, the master maintains the previous packet number. Accordingly,the slave stores the packet number and transmission address of theprevious message, and if the same message is received again, it ignoresthe duplicate message. If the received message is different from theprevious message, the slave processes the message. The slave copies thepacket number of the received message and constructs the response packetwhen the slave responds to the received message.

[0080] The message length (ML) is information for identifying the lengthof the message field since the length of the message field is variable.Accordingly, the application layer identifies the length of the messagefield by means of the message length.

[0081] The message header length (MHL) is a field for extending themessage field later, and may include in addition a message header incase of encoding the message field, changing the application protocol,etc.

[0082] The port number (PO) is a field for extending the message set,and the message set may be classified for each port. For the version-upof the message set, or the compatibility with other applicationprotocols, the message set may be placed in each port.

[0083] The message comprises a command code for the master's requestingof the function performance to the slave, input factors required forperforming the command, and factors transmitted to the master after theslave performs the command. Also, the message should be constructed anddefined to facilitate the programming in the 8-bit microcomputer.Specifically, even if the message is corrected, it should bemodule-programmed so that the correction of the message can be easilyreflected. For this, all the messages have independent functions,respectively. This means that all the messages do not include anycorresponding low-ranking message, and no causal relation among therespective routines in the software implementation. If the messages haveindependent functions from one another, the functions for controllingand monitoring the product can be extended through the combination ofthe messages. If the slave has normally performed the command, thefactors transmitted to the master are {ACK+Return arguments}, andotherwise, the factors are {NAK+Error code}. 256 commands at maximum canbe included in each device. The existence/nonexistence and the number ofbytes of input arguments and return arguments are determined accordingto the command code.

[0084] At this time, the data types of the arguments are as follows.

[0085] boolean: 1 byte

[0086] char, unsigned char: 1 byte

[0087] int, unsigned int, short int, unsigned short int: 2 bytes

[0088] long, unsigned long: 4 bytes

[0089] string: transmission/reception with NULL included

[0090] Also, in order to classify the command code, the followingconcept is put.

[0091] Though all product independently use 256 command codes in therange of 0x00˜0xFF, common codes are used as commands commonly used inall the products. The correction of the terms is facilitated through theinclusion of the function of the product in the generalized structure.All the command codes are classified into essential command codes andoptional command codes. The essential commands are the commands for thebasic information of the device and commands required for thecommunication. They are classified into temporary commands (indicated asI) and program commands (indicated as P). The temporary command can beimmediately performed when the slave receives it, and the programcommand requires a sequence for performing the command. Command codes inan algorithm area are not designated by the standardized codes for allthe products. Since the products of the same kind can communicate withone another using different algorithms in accordance with their modelnumbers or their makers, they can perform the different functions usingthe same command code. Accordingly, all the command codes of this areashould be allocated with inherent numbers of the product models, andincluded as the factors. Also, the message structure when the mastertransmits the message with the protocol for processing the message inthe application layer is different from that when the slave responds tothe master. When transmitted from the master, the message is composed ofa command code and input factors for performing the command code, i.e.,arguments (ARG). The number and data type of the factors becomedifferent according to the command code. The structure of the messagetransmitted by the slave that received one packet from the master isdivided into one having an error and the other having no error when thepacket error or command code received from the master is performed. Ifthe packet received from the master has no error, and the command codeis normally performed, the message structure is composed of a commandcode, ACK, and factors (ARG) resulted from the command codedperformance. The number of resultant factors and data type are differentaccording to the command code. If an error is produced in the packetreceived from the master, the message is composed of a command code,NAK, and packet error code. If the packet is normal, but an error isproduced during the performance of the command code, the message iscomposed of a command code, NAK, and error code.

[0092] The CRC is a value for detecting an error of the received packetor making the receiver detect the packet error during the transmission.The CRC is composed of 16 bits, and its value is created or an error isdetected using the data from ETX to the byte just before the CRC field.

[0093] The ETX(0x03) is a communication letter that means the end of thepacket, and provides a method of detecting the packet error withoutusing the CRC along with the packet length field during the reception.That is, when the byte data as long as the packet length is received, itcan be judged to be the packet error if the last byte is not ETX. Atthis time, the packet error check using the CRC can be omitted.

[0094] The address of the above-described packet structure will now beexplained in detail.

[0095] Each master or slave on the network is recognized as an address.The respective system has an allocated address of 2 bytes, and cantransmit the packet to the corresponding opposite party through theallocated address. As shown in FIG. 14, the address is divided into aphysical address which is composed of a network code of 3 bits andproduct code of 5 bits and is fixed unchangeable when the product issent out, and logical address of 8 bits which is used for classifyingthe products of the same kind or as a group address, and is changeablethrough the communication and so on.

[0096] The network at home can be briefly classified into a PC group,A/V group, and living group, i.e., home appliance group, and a 3-bitnetwork code is used for this classification. Even if the home appliancenetwork is different from other sub-networks at home in communicationprotocol, the network classification field is necessary for thecommunication with the PC group or A/V group products. An example of thenetwork code classification is shown in FIG. 15.

[0097] According to the network code, 5 bits are allocated for a productcode, i.e., product name (for example, washing machine, refrigerator,health product, lamp, security product, etc.), and 8 bits are allocatedfor classifying the products of the same kind. This is in considerationof the condition of an inn, hotel, etc.

[0098] The 8-bit field for classifying the products of the same kind isalso used as a group address that is classified according to theinstalled place of the product. A user inputs the installed place of theproduct when the network manager registers the product on the network.

[0099] At this time, the product group is determined in two ways.According to the first group address, all objects corresponding to thelower field can be determined by filling values of respective fieldswith ‘1’, respectively. At this time, the group means the products thatbelong to the same kind or same network. For example, if the networkcode value is ‘111’, it indicates all the networks at home, and if theproduct code value is ‘1111’, it indicates all the products of thecorresponding network. As shown in FIG. 16, the product group of aspecified kind is selected according to the group address, and if thegroup address value is ‘11111111’, it indicates all the products of thecorresponding network and product code. According to the second groupaddress, as shown in FIG. 17, is selected the product group of aspecified place. At this time, the product code become ‘11111’ todesignate all the products, and the logical address value is designatedaccording to the installed place. If the network code is ‘111’, and theproduct code is ‘11111’, the logical address field indicates the placecode. Also, as shown in FIG. 18, a specified product group located in aspecified place can be selected by designating the group address.

[0100] Next, a plug and play process, whereby the devices are connectedthrough the network, initial home codes and addresses allocated to thedevices, and the communication environment is determined, will beexplained.

[0101] In order for the devices connected through the network tocommunicate with one another, all the devices are determined to have thesame communication speed, and their unique addresses are allocated inthe physical network. At this time, the master should be provided with adatabase of the names and addresses of all the devices. Also, in casethat the transmission lines among the respective homes are notclassified like the power lines, the respective homes should beclassified. For this, the network manager that is in charge of the plugand play process determines home codes for classifying the respectivehomes when the power is initially supplied. After the home codes aredetermined, the network manager receives the input of the information onthe device from the user when the device is firstly connected on thenetwork, and performs a discovery and addressing process for allocatingan address to the corresponding device. After completion of thisprocess, a pre-request process for changing product information such asthe model number or controller version of the device subject tocommunication, the size of a buffer for the packet construction, or thecommunication speed is performed. This pre-request process is not alwaysnecessary, but is performed as needed. The product information isnecessary for identifying the name of the connected product, and therequest for the buffer size is performed when the size of the packet isdetermined in order for the master to send a mass of data to the slave.The master requests the speed change to the slave when the mass data istransmitted/received, or the transmission/reception of the data isterminated. After the termination of the pre-request process, a generalcommunication mode is performed. In view of the user's position, theplug and play process should be immediately performed when the power isinputted to the device without any user's additional installation orinput work. However, after the device is connected on the network, theinformation on the device is inputted to the network manager,considering that the power lines are used as the network media. In caseof the power lines, the transmission lines among the neighbors are notclassified. Thus, if the network manager is also installed in theneighboring house in a state that the device is connected on thenetwork, the network manager in the neighboring house may allocate theaddress to the device. To solve this problem, the network manager firstrequests registration of the address to the device in a manner that thedevice inputs the device information to the network manager.

[0102] According to the above-described home code determining process,the network manager, at the initial power input stage, transmits a homecode confirming message to all the devices in order to determine theinherent home codes for discriminating the respective homes. At thistime, the factor is the value produced as a certain home code within therange of 0x00˜0xFF. If no response is received, the network managerdetermines the corresponding home code as its own home code since thehome code is a unique value in the physical network where the networkmanager is connected. If the response is received, it means that thecorresponding home code is not the unique value, and the network managerproduces again a certain home code to repeat the above process. Sincethe above-described home codes are determined simultaneously withrespect to the respective products when the network manager decides theaddresses of the respective products, the same home code is given to theproducts in the same home, enabling the respective homes to beclassified.

[0103] However, the address-related information including the home codeis stored in a non-volatile memory of the respective product, and thusit may become an issue if the user changes his/her residence after theaddress allocation of the respective products. Specifically, if anyother home connected on the same physical network as the moving-out homeuses the same home code, the respective homes cannot be classified dueto the home code collision. Accordingly, in case of moving, the homecode collision should be repeatedly confirmed at an initial home codedetermination by inputting the power only to the network manager in astate that the power supplied to all the products is cut off. If nocollision occurs, they can be used as they are without the home codechange, while if the collision occurs, the home codes of all theproducts should be reset, and then re-determined. At this time, in orderto discriminate the home products whose home codes are in collision, auser ID is used as a factor. The user ID is inputted through the networkmanager when the device is first connected on the network.

[0104] Next, in the discovery and addressing process, the user inputs tothe network manager that can manage the network the product name, numberof products, installed place, and user ID of the device to which thepower is supplied when the device is initially connected on the network.Then, the network manager requests the registration of the deviceinitially connected on the network, and allocates the address if atemporary address registration message is received from the device. Atthis time, even if a plurality of products of the same kind exist, thenetwork manager designates new addresses to the respective products toprevent any address collision. The reason why the number of products isinputted is that when several products of the same kind aresimultaneously connected on the network, it is required that the networkmanager recognizes whether the registration messages are received fromall the connected products. Also, the reason why the installed place isinputted is that the user can easily identify the product through theposition information of the product that appears on the screen of thenetwork manager. The user ID is for confirming the product during thehome code reset as described above. The address of the network manageris fixed to 0x00 irrespective of the on/off state of the power. However,other devices, which may be masters or slaves, have representativeproduct addresses given during their sending out when the power is off.The network manager determines a region of extra addresses which can beselected by the products using a command called ‘join request’, andrequests the devices (i.e., designated as the representative productaddresses) whose addresses are not designated through the user's inputto register with the temporary addresses. In case of an air conditioner,0x20 is selected as the receiver's number, and the extra address has thefactor in the range of 0x21˜0x2E. The ‘join request’ command canrecognize only the product whose address is not decided. The calledproducts determine their addresses (i.e., temporary addresses) byoptionally selecting the extra addresses by operating a random-numbergenerator, and inform their address values to the network manager. If0x25 is selected from 0x21[0x2E, it is transmitted to the networkmanager. The temporary address acts as the address of the correspondingproduct until the network manager or master changes it using an ‘addresschange’ command, or the power supply to the product is turned off. Thenetwork manager resets the duplicate addresses of the products to therepresentative addresses, respectively, using the ‘address change’command, and decides the addresses of the products having the temporaryaddresses not duplicated in the order of the extra addresses to re-callthe corresponding products. At this time, the network manager determinesthe home codes of the corresponding products and the user ID bytransmitting both its own home code and the user ID inputted by theuser. If the temporary address not uplicated are 0x2A, 0x25, and 0x23,and the extra addresses are in the range of 0x21˜0x2E, the addresses ofthe products having the temporary addresses 0x23, 0x25, and 0x2A aredecided to be 0x21, 0x252, and 0x23, respectively. If any duplicatetemporary address exists, the above process is repeated. Theabove-described discovery and addressing process is repeated 14 timeswith respect to all the kinds of products (i.e., 0x01˜0x0F).

[0105] As described above, after completion of the discovery andaddressing process, the names, addresses, and installed places of thedevices have been stored in the database of the network manager. Thedevices connected to the network manager start for the first time tooperate as the masters or slaves after their addresses are completelydesignated by the network manager. At this time, the devices acting asthe master read out the names and addresses of the devices from thedatabase of the network manager to store them in its own memory, andstart to communicate with the slaves. Before the address allocation, allthe devices cannot but act as the slaves. The devices allocated withtheir addresses periodically broadcast a message for informing theirexistence because the masters that can control the respective devicesshould know whether the devices are connected on the network. If theconnected devices and disconnected devices are not discriminated, itbecomes difficult to find out whether the communication impossibility iscaused by the power-off or the trouble of the device. Also, thedisconnected devices are displayed in an inactive state on the screen ofthe network manager to be informed to the user. All the devicesallocated with the addresses periodically broadcast alive messages toinform their existence, and at this time, it is necessary to adjust theperiod. If the number of devices is small, it does not matter, but ifthe number of devices is large, too short period causes too many alivemessages to be transmitted, thereby deteriorating the performance of thenetwork. The initial period is determined to be long, and then adjustedin proportion to the number of devices. That is, if the number ofdevices is small, the period is determined to be short, while the numberof devices is large, the period is determined to be long, and thiscauses the performance of the network to be maintained. At this time,the network manager determines the period, and the respective devicebroadcasts its own period as the factor of the alive message. Thenetwork manager receives the alive message of the respective device, andif the received alive message is different from the period determined bythe network manager, the network manager determines the period of thecorresponding device as its own period.

[0106] Next, the event that produces the communication conditions of thedevice will be explained.

[0107] The event means the case that a certain state change is producedin the device, and can be classified into the following 5 typesaccording to the production sources. They are a user event that isproduced when the user directly commands the device through a key,periodic event that is automatically produced at predetermined intervals(for example, an alive notification message transmitted from the networkmanager for a predetermined period), status event that is produced dueto the voluntary state change of the device during monitoring of thesystem state (for example, change of temperature, humidity, washingcycle, etc.), error event that is produced when an error related to theoperation of the system occurs, and external event that is produced whenrequested from the outside of the system such as a web server and so on(for example, a communication request from a remote place when thenetwork manager serves as a home server).

[0108] A device provided with a user interface such as a keyboard,mouse, and monitor can perform a peer-to-peer communication with all thedevices by all the 5 events. However, in order for the device that isshort of user interface to perform the peer-to-peer communication, thecondition for effecting the communication should be determined inadvance, or the peer-to-peer communication is possible only by theevents produced due to the internal factors of the device.

[0109] According to the present invention, if an event is produced, thecorresponding device performs the communication by informing its ownstate change to all the devices using a notification packet. The reasonwhy the event has an important meaning is that in case that the usermonitors the state of the device, it is much more effective that thedevice informs its state change for itself than that the user requeststhe state value of the device every time when he/she desires to know thestate of the device. Also, since the trouble of the device or erroroccurrence should be immediately informed as soon as it occurs, theprocess of immediately informing the state change when the event isproduced is necessary.

[0110] The event implemented by the respective device is represented byan event code of 1 byte, and is divided into a common event commonlyimplemented in all the devices and a private event implemented for eachproduct. As the code classification, an area classification rather thana field classification is used since the number of codes that may beadded later is different for each term.

[0111] The common event may be further divided into an event regionrelated to the user's manipulation, and error event region that iscommon to all the devices. The event related to the user's manipulationmay be a key or dial input, door opening/closing, load input, etc., andhas an event code value of 0x11˜0x2F. The common event may be dooropening during operation and so on, and has an event code value of0x30˜0x4F. The private event may be classified into an error event foreach product, and a status event for each product. The error event foreach product represents an inherent error state or trouble state of eachproduct, and has an event code value of 0x70˜0xAF. The operation statusevent is an event produced whenever the status of the product is changedduring the operation of the product, and has an event code value of0xB9˜0xFF.

[0112] The event code may be classified into an essential event codethat is essentially implemented by all the devices (for example, atrouble event code) and an optional event code that is optionallyimplemented by the devices. The essential event code makes the statechange to be broadcast as the notification packet when the event isproduced, so that another device can monitor the state change. At thistime, the used command code is the notification command, and has anevent code of 1 byte and event code state value of 4 bytes as thefactors. If an event is produced in a device, it may be informed simplyby broadcasting the notification packet, but it commands an operation ofanother device. For example, when the washing cycle of the washingmachine is terminated, it commands a lamp of a veranda to be turned on,or it commands an air conditioner to display a text message. For this,each device should store information on an address, operation commandcode, and factors of the device subject to communication whenever theevent code is produced. However, since such information is differentaccording to the users' tastes, the communication condition when theevent is produced in the respective device should be determined throughthe network manager. At this time, in case of not only commanding theoperation of another device but also broadcasting the event, the usershould determined the options. Another one to be considered when theevent communication condition is determined is a time interval forinforming the event. If the temperature state or sensor state where theevent communication is determined is rapidly changed, the performance ofthe network may deteriorate due to too many event communication packets,and thus a minimum event producing interval is necessary. Accordingly,when the user determines the communication condition for the producedevent through the network manager, he/she should determine the eventcode, device subject to communication, minimum interval of eventproduction, communication message, etc.

[0113] The event communication condition is stored in the non-volatilememory of the respective device as an event file composed of a header ofFIG. 19 and body of FIG. 20. The user can re-determine the eventcommunication condition through the network manager. In case of aninitial determination, the user determines the event communicationcondition after confirming whether the size of the non-volatile memoryof the device is enough through a buffer size read command. Also, sincethe size of the non-volatile memory is limited, the information on anunnecessary event communication condition should be deleted. A messagefor this purpose also exists, and the user can delete the unnecessaryevent communication condition using this message (i.e., an event codedelete command code).

[0114] In order to perform the event code, the total number of events(total_event_no) to be executed and the event codes are read out fromthe header of the event file stored in the non-volatile memory. If thestate of the defined variable is changed during the operation, a systemmain program stores this information in the corresponding memory. Anevent code executing routine judges whether to execute by comparing thesystem state value with the event code read out from the event file. Inorder to prevent the resources of the microcomputer from being occupieddue to the continuous execution of the event code when the variousstates of the system are simultaneously changed, the event codeexecuting routine executes one event code at a time.

[0115] Next, a method of controlling various kinds of errors will beexplained.

[0116] The communication error is classified into a data bit error dueto a noise of the communication lines, error caused by the differentcommunication frequencies, data bit error due to the data collision,error caused by the transmitted signal attenuation when impedancesbetween the lines and devices do not match, and error caused bytransmission/reception of data that cannot be processed by the receivingdevice though no data bit error is produced. The noise of thecommunication lines causes a frame error of the physical layer of thereceiving side, i.e., UART frame error, or serves to change the datavalue. If the communication frequencies of the sending/receiving devicesare different, the UART frame error is mostly produced in the receivingside. When several devices transmit simultaneously, the UART frame erroris mostly produced in the receiving side. When the impedances betweenthe lines and devices do not match, no signal is received in thereceiving side.

[0117] If the master transmits the request packet to the slave, theslave receives the packet, and detects the defined errors. If the slavedetects the error from the received data bits, the slave transmits tothe master a response packet including the code value of the errordetected in the sending side as shown in FIG. 21, and the masterperforms the retransmission or error-processing function according tothe error code.

[0118] At this time, the error code is composed of 1 byte, and isdivided into a common error code allocated to the region of 0x00˜0x9Fcommonly used by all the devices, and a trouble code allocated to theregion of 0xA0˜0xFF independently used by the devices. The common errorcode indicates values of the communication error, and the trouble codeindicates values for diagnosing the trouble of the inherent functions ofthe device such as the sensor, being separated from the communicationfunction. Each device has 96 codes, which is classified into packeterror, receiver error, bad command, illegal arguments, illegal access,and trouble codes. The details thereof are as follows.

[0119] First, the packet error is divided into a CRC error of thereceived packet, receiving time over of 1 byte, and response waitingtime over.

[0120] The CRC error of the received packet is produced when the CRCvalue included in the received packet of both the master and the slaveis different from the calculated CRC value. If the CRC error is producedin the response packet received in the slave, the slave transmits theresponse packet including the CRC error value to the master. If themaster received the response packet, the retransmission of the packet isrepeated three times at maximum.

[0121] The 1-byte receiving time over error is produced when the timeinterval between the received bytes deviates from 2BTU (i.e., minimumtime 3 msec: 9600 bps basis) due to the noise or other reasons on thecommunication lines. However, at this time, even the packet length fieldshould be received in the receiving side. If the byte time intervalbecomes larger than a predetermined value before the packet length fieldis received, the received data is ignored. If 1-byte receiving time overerror is produced, the receiver stops the reception, fills the remainingregion of the packet-receiving buffer with 0, and transfers the packetto the upper layer. As a result, the CRC error is produced in thereceiver. If an error is produced in the slave due to the noise of thelines when the master transmits the request packet to the slave, theresponse packet including the CRC error is transmitted to the master. Ifthe master normally received the response packet, the packet isretransmitted three times at maximum. If the 1-byte receiving timer overerror is produced in the master even though the slave normally receivedthe request packet and transmitted a normal response packet, the masterretransmits the packet three times at maximum. Even though the bytereceiving time over error may be produced In both the master and slave,the error code is necessary among the respective communication layersonly, and the information on the 1-byte receiving time over error is notgiven to the sender. That is, the byte receiving time error is a valuefor the process inside the device, and is not transferred between themaster and the slave. The time limit of the receiving time over isrelated to the busy check. According Lo the present invention, since thetransmission/reception is performed in the unit of a packet, the timeinterval of the byte transmission should be shortened in order to informthe bus occupation during the busy check by another device. If the timelimit of the receiving time over is large, the time delay may occurduring the transmission of one packet. At this time, another deviceattempting at transmission may judge the present state to be in an idlestate during the busy check, and immediately start the transmission,causing the data collision to occur.

[0122] The response waiting time over error is produced when no data isreceived after the master transmitted the request packet. That is, it isproduced when no slave subject to communication exists. The physicallayer of the master waits for 5 seconds at maximum, and if no data isreceived, it prepares and sends to the data link layer a packetincluding a response waiting timer over code. The data link layer sendsa message to the application layer, and thus the application layerrecognizes that the corresponding device does not exist.

[0123] Next, the receiver error is divided into a lack of memory,rejection of communication, refusal of remote control, non-match ofprotocol version, and non-match of message ports.

[0124] The lack-of-memory error is produced if the slave has no sparememory for writing the received data when the master transmits to theslave a command code such as a memory write, LCD write, EEPROM write,etc.

[0125] The communication rejection error is produced when the slaveintends to preferentially perform another function other than thecommunication even though it normally received the request packet fromthe master. The master that received the communication rejection errorcan attempt again after 5 seconds (i.e., maximum waiting time of themaster) at minimum.

[0126] The remote control refusal error is produced when the slavereceives a control command message in a state that the remote control ofthe slave is not possible.

[0127] Next, a bad command is divided into a command code that cannot beperformed and factor values that cannot be performed.

[0128] The command code error that cannot be performed is produced incase that the slave normally received the request packet, but therequest packet includes a command code that cannot be performed by theslave.

[0129] The factor value error that cannot be performed is produced incase that the command code that can be performed is received and thefactors are determined within a defined range, but the value cannot beperformed by the device. For example, in case of a load on/off commandof a microwave oven, if input value relates to a hood fan but themicrowave oven has no hood fan, the factor value error that cannot beperformed is produced.

[0130] Next, the illegal arguments are divided into a factor numbererror that is different from the defined number, and over range error.

[0131] The factor number error that is different from the defined numberis produced in case that the slave normally received the request packetfrom the master, but the number of input factors for performing thecommand code is different from the number defined in the message set. Atthis time, the number of factors is the number of bytes. If the inputfactor is a variable defined as an “unsigned int”, the number of inputfactors becomes 2 since each factor is composed of 2 bytes.

[0132] The over range error is produced in case that the slave normallyreceived the request packet from the master, but the input factor valuefor performing the command code deviates from a range defined in themessage set.

[0133] Next, the illegal access error caused by detection of aprohibited action is produced in case that the slave normally receivedthe request packet from the master, but the input factor value forperforming the command code designates a prohibited memory region or aload whose control is prohibited.

[0134] Next, the trouble code will be explained.

[0135] All the devices have their inherent functions besides thecommunication, and any trouble of such functions can be remotelydiagnosed. When the function of the device is in trouble, the troublecode is included in the response packet to be sent to the master. Forexample, if a temperature sensor is judged to be in trouble when theslave receives the response packet including the command code forreading the value from the temperature sensor, the slave includes thetrouble code value of the temperature sensor in the response packetalong with ‘NAK’ to transmit the response packet including the troublecode to the master. All the devices determine the value of the troublecode using the common region.

[0136] If the data bits constituting the packet are in trouble, i.e., ifthe receiver address error, sender address error, sending/receivingaddress error, and packet length error are produced, the presentinvention processes them as the CRC errors. The detailed explanationthereof is as follows.

[0137] First, the receiver address error will be explained.

[0138] If an error is produced in the bits of the receiver addressfield, the device that is not called receives the packet. At this time,the device detects the CRC error due to the error in the bits of thereceiver address field. First, if an error packet is transmitted from amaster A to a slave A, and another slave B also receives the errorpacket, the slave B transmits a response packet including the CRC errorvalue to the master A. The master A, which received the response packetfrom the slave B, ignores the sender's address, and considers that theoriginally called slave A responded although another device that is notthe slave A responded. Specifically, the master considers one packetreceived after the master transmits one packet to be the response packetfrom the device that was called. The master A that received the responsepacket retransmits the packet to the slave A three times at maximum.Second, if another slave B receives the response packet transmitted tothe master A by the slave A which received the request packet from themaster A due to the error of the receiver address field, the slave Btransmits the response packet including the CRC error to the slave A. Atthis time, if no packet error exists, the slave A can recognize theresponse packet from the packet kind field value, and thus ignores thereceived packet. The master A continuously waits for the response packetfrom the slave A for 10 seconds at maximum. After 10 seconds elapses,the communication starting from the request packet transmitted from themaster A to the slave A is terminated without performing any commandcode through the slave.

[0139] Next, the sender address error will be explained.

[0140] If an error is produced in the bits of the sender address field,the device that is called by the sender receives the packet, and detectsthe CRC error due to the error in the bits of the sender address field.First, if an error is produced in the sender address field when themaster A transmits the request packet to the slave A, the slave A thatreceived the packet transmits the response packet to the device (i.e.,master or slave) of the address value in the sender address field. Ifthis response packet is transmitted without error, and another slave Breceived the response packet, the slave B can recognize the responsepacket from the packet kind field value, and thus ignores the receivedpacket. If another master B receives this response packet, the master Bignores the received packet according to the1-packet-transmission/1-packet-reception rule since it did not transmitthe request packet. The master A waits for the response packet from theslave A for 10 seconds at maximum. After 10 seconds elapses, the slavedoes not perform any command code, and the communication is terminated.Second is the case that the master A normally transmitted the requestpacket to the slave A, and an error is produced in the sender addressfield of the response packet transmitted from the slave A to the masterA. In this case, if the response packet was transmitted without error,and another slave B received the response packet, the slave B canrecognize the response packet from the packet kind field value, andignores the received packet. If another master B received this-responsepacket, the master B ignores the received packet according to the1-packet-transmission/1-packet-reception rule since it did not transmitthe request packet. The master A waits for the response packet from theslave A for 10 seconds at maximum. After 10 seconds elapses, the slavedoes not perform any command code, and the communication is terminated.

[0141] Next, the sending/receiving address error will be explained.

[0142] If an error is produced in the bits of the receiver address fieldand the sender address field, another device that is not called by thesender receives the packet, but detects the CRC error. In this case, thecommunication between the devices is performed in the same sequence asthe receiver address error and the sender address error, and thenterminated.

[0143] At last, the packet length error will be explained.

[0144] The receiver constructs a received packet buffer using the numberof bytes as much as the value of the packet length field. First, in casethat the packet length field value is larger than the actual value, thereceiver continuously waits for the data though the receiver receivedthe actual packet. If no more byte is received, and the reception limittime between bytes elapses, the time over error is produced, and thereceiver fills the remaining portion of the received packet buffer withcertain data, causing the CRC error to be produced. Accordingly, themaster retransmits the packet three times at maximum. Second, in casethat the packet length field value is smaller than the actual value, thereceiver also detects the CRC error.

INDUSTRIAL APPLICABILITY

[0145] As apparent from the above description, the network controlsystem according to the present invention has the following effects.

[0146] First, according to the present invention, the network isconstructed using the master/slave type, 1-cycle type, and half-duplextype communication system and the serial communication of alow-performance microcomputer used in home appliances with a simplifiedand standardized protocol, and thus a low-priced and optimized networkfor the home appliances can be implemented.

[0147] Second, according to the present invention, since the operationstate change of one appliance among the home appliances connected on thenetwork can be informed to the user through another appliance, and thecommunication condition and the appliance subject to the communicationcan be selected by the user, the user convenience can be maximized.

[0148] Third, according to the present invention, since the power linescan be used as the communication media, the network connection becomespossible by connecting the power plug of the home appliance to theoutlet without any further manipulation.

1-56. Cancelled
 57. A network control system, comprising: at least oneslave device; and a master device connected to the slave device througha predetermined network and controlling operation of the slave deviceand/or monitoring the state of the slave device, wherein the masterdevice and the slave device perform the communication according toone-cycle type communication.
 58. The network control system of claim57, the one-cycle type communication includes at least one communicationamong a one-request/one-response communication whereby the master devicetransmits one request packet to the slave device, and in response tothis, the slave device transmits one response packet to the masterdevice to terminate the communication; a one-request/multi-responsecommunication whereby the master device transmits one request packet toa plurality of the slave devices, the respective slave device transmitsone response packet to the master device in response to this, the masterdevice receives and waits for the response packet continuously, and if apredetermined maximum waiting time elapses, the master device terminatesthe communication; and a one request communication whereby the masterdevice transmits one request packet to a slave device or a plurality ofslave devices, and then terminates the communication without waiting forthe response packet.
 59. The network control system of claim 58, whereinif a response error is produced in the slave device during the onerequest/one-response communication, the master device retransmits therequest packet to the slave device.
 60. The network control system ofclaim 58, wherein a predetermined delay time is given among therespective communication cycles.
 61. The network control system of claim60, wherein the delay time is determined so that another master exceptfor the master that is performing the communication attempts to performthe communication.
 62. The network control system of either claim 57 or58, wherein the master device includes a master means controlling theoperation of the slave device and/or monitoring the state of the slavedevice and a slave means responding a request/requests from anothermaster device.
 63. The network control system of claim 62 wherein themaster means and the slave means are logically independent.
 64. Anetwork control system, comprising: at least one slave device; a masterdevice connected to the slave device through a predetermined network;and a combined master/slave device connected the slave device and themaster device through the network, wherein the master device, the slavedevice and the combined master/slave device perform the communicationaccording to one-cycle type communication.
 65. The network controlsystem of claim 64, wherein the combined master/slave device includes amaster means controlling the operation of the slave device andmonitoring the state of the slave device and a slave means responding arequest/requests from the master device and/or another combinedmaster/slave device.
 66. The network control system of claim 64 or 65,the one-cycle type communication includes at least one communicationamong a one-request/one-response communication whereby the master devicetransmits one request packet to one device of the slave device and thecombined master/slave device or the combined master/slave devicetransmits one request packet to one device of the slave device andanother combined master/slave device, and in response to this, the onedevice transmits one response packet to the master device or thecombined master/slave device to terminate the communication; aone-request/multi-response communication whereby the master devicetransmits one request packet to a plurality of the slave devices and thecombined master/slave device or the combined master/slave devicetransmits one request packet to a plurality of the slave device andanother combined master/slave device, the respective slave device and/orthe combined master/slave device and/or the another combinedmaster/slave device transmits one response packet to the master deviceor the combined master/slave device in response to this, the masterdevice or the combined master/slave device receives and waits for theresponse packet continuously, and if a predetermined maximum waitingtime elapses, the master device or the combined master/slave deviceterminates the communication; and a one request communication wherebythe master device transmits one request packet to the slave device orthe combined master/slave device or a plurality of slave devices and/orthe combined master/slave device, or the combined master/slave devicetransmits one request packet to the slave device or another combinedmaster/slave device or a plurality of slave devices and/or the anothercombined master/slave device, and then terminates the communicationwithout waiting for the response packet.
 67. The network control systemof claim 66, wherein if a response error is produced in the slave deviceor the combined master/slave device or the another combined master/slavedevice during the one request/one-response communication, the masterdevice or the combined master/slave device retransmits the requestpacket to the slave device or the combined master/slave device or theanother combined master/slave device.
 68. The network control system ofclaim 66, wherein a predetermined delay time is given among therespective communication cycles.
 69. The network control system of claim68, wherein the delay time is determined so that another master exceptfor the master or the another combined master/slave device except forthe combined master/slave device that is performing the communicationattempts to perform the communication.
 70. The network control system ofeither claim 65, wherein the master means and the slave means arelogically independent.